# -!- coding: utf-8 -!-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：python_date_type.py
#日期：2019-5-15
#备注：举例介绍一下python3 数据类型总结  
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
# 1.整数int
a = 10
print('1.数据类型为',type(a),a)

# 2.浮点数float
b = 10.1
print('2.数据类型为',type(b),b)

# 3.字符串
c = '\n换行\t表示制表符\表示转义'
print('3.数据类型为',type(c),c)

# 4.布尔类型bool
d = True
print('4.数据类型为',type(d),d,3>4)

# 5.空值NoneType
e = None
print('5.数据类型为',type(e),e)

# 6.列表list
f = ['Michael', 'Bob', 'Tracy']
print('6.数据类型为',type(f),f)

# 7.元组tuple(tuple一旦初始化就不能修改指向,)
g = ('Michael', 'Bob', 'Tracy')
print('7.数据类型为',type(g),g)

# 8.字典dict
h = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print('8.数据类型为',type(h),h)

# 9.集合set(和dict类似，也是一组key的集合，但不存储value。由于key不能重复，所以，在set中，没有重复的key)
i = set([1,2,3,3])
print('9.数据类型为',type(i),i)


# 一、字符串转换成列表
# 二、字符串转换为元组
# 三、字符串转换成字典
# 四、列表、字典、元组转换为字符串
# eval是Python的一个内置函数,返回传入字符串的表达式的结果。即变量赋值时，等号右边的表示是写成字符串的格式，返回值就是这个表达式的结果。

str1 = 'a,b,c,d'
list = str1.split(',')
print('一、字符串转换成列表',type(list),list)
str2 = "['a', 'b', 'c', 'd']"
list2 = eval(str2)
print('一、字符串转换成列表',type(list2),list2)

str3 = "('Michael', 'Bob', 'Tracy')"
tuple = eval(str3)
print('二、字符串转换为元组',type(tuple),tuple)

str4 = "{'Michael': 95, 'Bob': 75, 'Tracy': 85}"
dict = eval(str4)
print('三、字符串转换成字典',type(dict),dict)

j = str(f)
k = str(g)
l = str(h)
print('四、列表、字典、元组转换为字符串',type(j),type(k),type(l))

# 当前目录文件都会展现在用户前面
eval("__import__('os').system('dir')")
